ZebulonT - 18 Janvier 2008, 10:26
Bonjour jchouix,
J'ai un souci avec la création de répertoire par les rédacteurs.
Lorsqu'un rédacteur créé un rép, celui-ci obtient les droit 700.
Les fichiers que le rédacteur place dans ce rép obtiennent bien des droit 644.
Mais comme le rép à les droit à 700, les fichiers placé dans le rép ne sont pas utilisables...
Sauf à faire un chmod par ailleurs...
Il faut bien évidement que les droits attribués au répertoire lors de sa création soient à 755 ! Mais j'ai jeté un oeil dans les scripts PHP et je n'ai pas trouvé ce qui régit l'attribution des droits...
Je précise que mon compte sur le serveur apache est en suPHP et que je travaille tjs avec le fichier "upload.inc" original et non celui de ton fork qui permet la suppression des fichiers.
Merci d'avance pour ton aide.
Bien cordialement.
jchouix - 18 Janvier 2008, 18:43
bonjour,
ZebulonT - 18 Janvier 2008, 19:42
Re,
ZebulonT - 19 Janvier 2008, 11:00
Bonjour jchouix,
ZebulonT - 19 Janvier 2008, 21:46
Re,
Comme promis, voici quelques infos...
Après discussion sur le forum de mon hébergeur, il s'avère qu'il s'agit d'un problème d'umask qui est à 077 dans la config de suPHP.
J'ai néanmoins trouvé une parade qui consiste à faire un appel à la fonction umask() avant les appels à la fonction mkdir()... J'ai donc modifié le code des trois fichiers suivants :
function createNewRep($newrep) {
@umask(0022);
@mkdir(CHEMIN.$newrep,0755);
@copy(CHEMIN."data/index.php", CHEMIN.$newrep."/index.php");
@chmod(CHEMIN.$newrep."/index.php", 0644);
function createNewRep($newrep) {
@mkdir(CHEMIN.$newrep,0755);
@chmod(CHEMIN.$rep,0755);
@copy(CHEMIN."data/index.php", CHEMIN.$newrep."/index.php");
@chmod(CHEMIN.$newrep."/index.php", 0644);
ZebulonT - 20 Janvier 2008, 13:33
Bonjour,
Un des modos du forum de mon hébergeur m'a suggéré une autre faà§on de résoudre le problème...
$old = umask(0); @mkdir(CHEMIN.$newrep,0755); umask($old);
jchouix - 21 Janvier 2008, 18:11
bonsoir ZebulonT,
merci pour ces infos qui serviront à dépanner ceux qui seront confrontés au màªme problème.
A+
ZebulonT - 21 Janvier 2008, 18:15
Bonsoir jchouix,
ZebulonT - 24 Février 2008, 1:33
Bonsoir,
Dans le màªme ordre d'idée (problème de chmod avec un serveur Apache sous suPHP), j'ai également corrigé deux fichiers qui concernent le plugin diaporama.
Le premier est le fichier /plugins/adm_redacteurs/plugins/diaporama/inc/upload.inc
D'abord à partir de la ligne 42 :
function MakeDir($dir) { $tmp1 = explode('/', $dir); $tmp2 = CHEMIN; for($t = 0; $t < count($tmp1); $t++) { $tmp2 .= $tmp1[$t]; if(!is_dir($tmp2)) //ligne modifiée par ZebulonT //if (@mkdir($tmp2, 0777)) { if (@mkdir($tmp2, 0755)) { @chmod($tmp2, 0755); //Ajout par ZebulonT => pour que le chmod sur le répertoire créé soit effectif avec le serveur apache sous suPHP @umask(0022); //Ajout par ZebulonT => pour que le chmod sur le fichier index.php soit effectif avec le serveur apache sous suPHP @copy(CHEMIN."data/index.php", $tmp2."/index.php"); @chmod(CHEMIN.$tmp2."/index.php", 0644); } else { if (!is_file($tmp2."/index.php")) { @umask(0022); //Ajout par ZebulonT => idem ci-dessus @copy(CHEMIN."data/index.php", $tmp2."/index.php"); @chmod(CHEMIN.$dir."/index.php", 0644);
for($i=0; $i<$nb_upload; $i++) { $fic = $_FILES["img$i"]['name']; $tmp = $_FILES["img$i"]['tmp_name']; @umask(0022); //Ajout par ZebulonT => Afin de corriger un problème de chmod 600 sur les images chargées pour le diaporama => serveur Apache sous suPHP
//Ligne modifiée par ZebulonT => Modification du chmod pour le seveur Apache sous suPHP => Question de sécurité //@chmod(CHEMIN.$dp_dir_vig.'/'.$fic, 0666); @chmod(CHEMIN.$dp_dir_vig.'/'.$fic, 0644);
jchouix - 25 Février 2008, 19:33
Bonsoir ZebulonT,
merci pour ton boulot et tes renseignements très précis qui vont rendre service à beaucoup de monde.
Cordialement.
a+